#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

# 自定义错误消息
error_msg() {
  echo "\033[31m ERROR: 提交信息不符合规范 \033[0m"
  echo "\033[33m 正确的提交信息格式如下: \033[0m"
  echo "\033[32m type(scope?): subject \033[0m"
  echo "\033[33m - type 必须是以下之一: [feat, fix, css,format,docs, refactor, perf, chore, revert,test, build] \033[0m"
  echo "\033[33m - scope 是可选的，表示影响范围 \033[0m"
  echo "\033[33m - subject 是必须的，描述本次改动 \033[0m"
  echo "\033[33m 示例: \033[0m"
  echo "\033[32m feat(user) 添加用户登录功能 \033[0m"
  echo "\033[32m fix 修复首页加载慢的问题 \033[0m"
  echo "\033[36m 💡 提示：推荐使用 pnpm commit 进行规范化的提交 \033[0m"
  exit 1
}

# 执行 commitlint 验证，如果失败则显示自定义错误消息
npx --no -- commitlint --edit "$1" || error_msg 